C and C++ Compile Dependencies
Source files, more often than not, contain Include statements. Included files may themselves "include" other files. To analyze a particular file, Helix QAC needs to know where to locate the files that have been specified by all of these Include statements, otherwise the analyzers will fail to resolve symbols that are defined in those files. The locations to search for Include files are known in Helix QAC as Include Paths.
Files are often compiled with definitions that are specified on the command line that compiles the file. For example, the following compile command specifies that the preprocessor is to substitute all uses of the MACRO token with the literal 1 in the source file to be compiled, as well as in all files that have been included in its Include dependency chain.
gcc -o file.o -I/include/directory/path -DMACRO=1 file.c
The files that you wish to analyze, and the Include Paths and Definitions used to compile those files, are normally contained within your build automation or IDE project files. It is necessary to extract this information to populate your project. You can do this using either Scripted Extraction or Project Synchronization